#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

int main() {

	int a, b;
	scanf("%d %d", &a, &b);

	int mul = 1;

	for (int i = 0;i < b;i++) {
		mul = (mul * a) % 1000;
	}

	printf("%03d", mul);

	return 0;
}



//int main() {
//
//	int n = 0;
//	long long mul = 1;
//	scanf("%d", &n);
//
//	for (int i = 1;i <= n;i++) {
//		mul *= i;
//	}
//
//	printf("%lld", mul);
//
//
//	return 0;
//}


//int main() {
//
//	int n = 0;
//	int m = 0;
//	scanf("%d", &n);
//
//	int sum = (n - 2) * 180;
//
//	for (int i = 0;i < n - 1;i++) {
//
//		scanf("%d", &m);
//		sum -= m;
//
//	}
//
//	printf("%d", sum);
//
//
//	return 0;
//}

//int main() {
//
//	int n = 0;
//	int m = 0;
//	int num = 0;
//	int sum = 0;
//	int flag = 0;
//
//	scanf("%d %d", &n, &m);
//
//	while (n) {
//
//		scanf("%d", &num);
//
//		n--;
//
//		if (sum + num < m) {
//			
//			if (n == 0) {
//				flag++;
//			
//			}
//			sum += num;
//		}
//
//		else if(sum + num == m){
//			
//			flag++;
//			sum = 0;
//		}
//
//		else if(sum + num > m) {
//
//			if (n == 0) {
//				
//				flag++;
//			}
//		
//				flag++;
//				sum = num;
//			
//		}
//	}
//	printf("%d", flag);
//
//	return 0;
//}

//int main() {
//
//	int n = 0;
//	int m = 0;
//	int flag = 0;
//	int sum = 0;
//	int arr[50];
//	
//	scanf("%d %d", &n, &m);
//	
//	for (int i = 0;i < n;i++) {
//		
//		scanf("%d", &arr[i]);
//	}
//
//	for (int i = 0;i < n;i++) {
//		
//		if (sum +arr[i] < m) {
//
//			sum += arr[i];
//		}
//		else if (sum+arr[i] == m) {
//			
//			flag++;
//			sum = 0;
//		}
//		else if (sum + arr[i] > m)
//		{
//			flag++;
//			sum = arr[i];
//		}
//		
//	}
//	printf("%d", flag);
//
//
//	return 0;
//}



